package HomeWork20240927;

import java.util.Scanner;
import java.util.Random;
import java.util.Arrays;

public class HomeWork20240927
{
    /*
    1. 按模板（见GuessNumber.java）的要求，将其中的【代码……】替换为合适的Java程序代码，使其能实现下列功能：
    1)	程序随机分配给客户一个1至100之间的整数。
    2)	用户输入自己的猜测。
    3)	程序返回提示信息，提示信息分别是：“猜大了”、“猜小了”和“猜对了”。
    4)	用户可根据提示信息再次输入猜测，直到提示信息是“猜对了”。
     */

    public static void main (String args[])
    {
        Scanner reader = new Scanner(System.in);
        Random random = new Random();
        System.out.println("给你一个1至100之间的整数,请猜测这个数");
        int realNumber = random.nextInt(100)+1;//random.nextInt(100)是[0,100)中的一个随机整数
        int yourGuess = 0;
        System.out.print("输入您的猜测:");
        yourGuess = reader.nextInt();
        while(yourGuess != realNumber) //循环条件
        {
            if(yourGuess > realNumber)   //猜大了的条件代码
            {
                System.out.print("猜大了,再输入你的猜测:");
                yourGuess = reader.nextInt();
            }
            else if(yourGuess < realNumber) //猜小了的条件代码
            {
                System.out.print("猜小了,再输入你的猜测:");
                yourGuess = reader.nextInt();
            }
        }
        System.out.println("猜对了!");
    }

    /*
    2. 一个公司有三个销售小组，各小组每季度销售额如下
    （其中第一小组只有第一、二季度有销售；第三小组只有第一、二、三季度有销售）：
    第一小组销售额为 { 11 , 12 } 万元;
    第二小组销售额为 { 21 , 22 , 23, 24 } 万元;
    第三小组销售额为 { 31 , 32 , 33 } 万元。（说明：题中销售额数据仅用作举例，在程序中请改用其它数字）。
    1）以二维表格的形式输出所有销售额， 以组为行，以季为列。
    2）计算并输出每个小组全年的总销售额。
    3）计算并输出公司每个季度的总销售额。
    4）打印并输出单个销售额最高的组别和季度以及该销售额。
    5）打印并输出总销售额最高的组别和季度以及该销售额。
    */

//    public static void main(String[] args)
//    {
//        // 初始化销售额数据
//        int[][] sales = {
//                {11, 12, 0, 0}, // 第一小组
//                {21, 22, 23, 24}, // 第二小组
//                {31, 32, 33, 0} // 第三小组
//        };
//        int[] xzsum = new int[3];// Java中数组的定义，初始化为0
//        int[] jdsum = new int[3];// Java中数组的定义，初始化为0
//
//
//        // 1）以二维表格的形式输出所有销售额
//        System.out.println("各小组每季度销售额如下（单位：万元）:");
//        for (int i = 0; i < sales.length; i++) {
//            System.out.print("小组 " + (i + 1) + ": ");
//            for (int j = 0; j < sales[i].length; j++)
//            {
//                System.out.print(sales[i][j] + "\t");
//                xzsum[i] += sales[i][j];
//
//                jdsum[j] += sales[i][j];
//            }
//            System.out.println();
//        }
//
//        // 2）计算并输出每个小组全年的总销售额
//        for (int i = 0; i < sales.length; i++) {
//            System.out.println("小组 " + (i + 1) + " 全年总销售额: " + xzsum[i] + " 万元");
//        }
//
//        // 3）计算并输出公司每个季度的总销售额
//        for (int j = 0; j < sales.length; j++) {
//            System.out.println("第 " + (j + 1) + " 季度总销售额: " + jdsum[j] + " 万元");
//        }
//
//        // 4）打印并输出单个销售额最高的组别和季度以及该销售额
//        Arrays.sort(xzsum);
//
//        // 5）打印并输出总销售额最高的组别和季度以及该销售额
//        int maxTotalSale = 0;
//        int maxTotalGroup = 0;
//        int maxTotalQuarter = 0;
//        for (int j = 0; j < totalSalesByQuarter.length; j++) {
//            if (totalSalesByQuarter[j] > maxTotalSale) {
//                maxTotalSale = totalSalesByQuarter[j];
//                maxTotalQuarter = j;
//            }
//        }
//        System.out.println("总销售额最高的季度是第 " + (maxTotalQuarter + 1) +
//                " 季度，销售额为 " + maxTotalSale + " 万元");
//    }

    public static void main2(String[] args) {
        // 初始化销售额数据
        int[][] sales = {
                {11, 12, 0, 0}, // 第一小组
                {21, 22, 23, 24}, // 第二小组
                {31, 32, 33, 0} // 第三小组
        };

        // 1）以二维表格的形式输出所有销售额
        System.out.println("各小组每季度销售额如下（单位：万元）:");
        for (int i = 0; i < sales.length; i++) {
            System.out.print("小组 " + (i + 1) + ": ");
            for (int j = 0; j < sales[i].length; j++) {
                System.out.print(sales[i][j] + "\t");
            }
            System.out.println();
        }

        // 2）计算并输出每个小组全年的总销售额
        int[] totalSalesByGroup = new int[sales.length];
        for (int i = 0; i < sales.length; i++) {
            for (int j = 0; j < sales[i].length; j++) {
                totalSalesByGroup[i] += sales[i][j];
            }
            System.out.println("小组 " + (i + 1) + " 全年总销售额: " + totalSalesByGroup[i] + " 万元");
        }

        // 3）计算并输出公司每个季度的总销售额
        int[] totalSalesByQuarter = new int[sales[0].length];
        for (int j = 0; j < sales[0].length; j++) {
            for (int i = 0; i < sales.length; i++) {
                totalSalesByQuarter[j] += sales[i][j];
            }
            System.out.println("第 " + (j + 1) + " 季度总销售额: " + totalSalesByQuarter[j] + " 万元");
        }

        // 4）打印并输出单个销售额最高的组别和季度以及该销售额
        int maxSale = 0;
        int maxGroup = 0;
        int maxQuarter = 0;
        for (int i = 0; i < sales.length; i++) {
            for (int j = 0; j < sales[i].length; j++) {
                if (sales[i][j] > maxSale) {
                    maxSale = sales[i][j];
                    maxGroup = i;
                    maxQuarter = j;
                }
            }
        }
        System.out.println("单个销售额最高的小组是小组 " + (maxGroup + 1) +
                "，季度是第 " + (maxQuarter + 1) + " 季度，销售额为 " + maxSale + " 万元");

        // 5）打印并输出总销售额最高的组别和季度以及该销售额
        int maxTotalSale = 0;
        int maxTotalGroup = 0;
        int maxTotalQuarter = 0;
        for (int j = 0; j < totalSalesByQuarter.length; j++) {
            if (totalSalesByQuarter[j] > maxTotalSale) {
                maxTotalSale = totalSalesByQuarter[j];
                maxTotalQuarter = j;
            }
        }
        System.out.println("总销售额最高的季度是第 " + (maxTotalQuarter + 1) +
                " 季度，销售额为 " + maxTotalSale + " 万元");
    }

}
